﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace XiAnAirport.Models
{
    public class AuthInfo
    {
        public string type { get; set; }
    }



    public class TokenInfo
    {
        public string code { get; set; }
        public string from { get; set; }
        public string requestId { get; set; }
        public string time { get; set; }
        public TokenInfoData data { get; set; }
    }

    public class TokenInfoData
    {
        public string access_token { get; set; }
        public string refresh_token { get; set; }
        public string uid { get; set; }
        public int expires_in { get; set; }
    }

    public class TokenError
    {
        public string errcode { get; set; }
        public string msg { get; set; }
    }

    public class AuthUserInfo
    {
        public string code { get; set; }
        public string from { get; set; }
        public string requestId { get; set; }
        public string time { get; set; }
        public AuthUserInfoData data { get; set; }
    }

    public class AuthUserInfoData
    {
        public string country { get; set; }
        public string fingerCode { get; set; }
        public string sorgId { get; set; }
        public string keyhandle { get; set; }
        public string mail { get; set; }
        public string nation { get; set; }
        public string eyekeyIrisCode { get; set; }
        public string employeeNumber { get; set; }
        public string changePwdAt { get; set; }
        public string pwdPolicy { get; set; }
        public string password { get; set; }
        public string loginInterceptFlagThree { get; set; }
        public string loginName { get; set; }
        public string eyekeyCrowdId { get; set; }
        public string orgNumber { get; set; }
        public string orgNamePath { get; set; }
        public string givenName { get; set; }
        public string loginInterceptFlagOne { get; set; }
        public string certSn { get; set; }
        public string firstName { get; set; }
        public string orgCodePath { get; set; }
        public string otpKey { get; set; }
        public string departmentNumber { get; set; }
        public string spNameList { get; set; }
        public string lastName { get; set; }
        public string updateDate { get; set; }
        public string eyekeyFaceCode { get; set; }
        public string gender { get; set; }
        public string loginType { get; set; }
        public string fidoReginfo { get; set; }
        public string accountName { get; set; }
        public string displayName { get; set; }
        public string positionNumber { get; set; }
        public string title { get; set; }
        public string loginInterceptFlagTwo { get; set; }
        public string loginInterceptFlagFour { get; set; }
        public List<string> spRoleList { get; set; }
        public string uid { get; set; }
        public string loginInterceptFlagFive { get; set; }
        public string identityNumber { get; set; }
        public string identityType { get; set; }
        public string fingerCodeTZ { get; set; }
        public string secAccValid { get; set; }
        public string pinyinShortName { get; set; }
        public string veinCode { get; set; }
        public string eyekeyFingerCode { get; set; }
        public string wechatNo { get; set; }
        public string eyekeyPeopleId { get; set; }
        public string passwordModifyRequired { get; set; }
        public string mobile { get; set; }
        public string employeeType { get; set; }
        public string positionStatus { get; set; }
        public string certDn { get; set; }
        public string isPassRemind { get; set; }
    }

    public class AuthAccountInfo
    {
        public string id { get; set; }
        public string type { get; set; }
        public string operateType { get; set; }
        public string fullname { get; set; }
        public string username { get; set; }
        //public string organizationId { get; set; }
        //public string organizationCode { get; set; }
        public string password { get; set; }
        public string disabled { get; set; }
        //public string employeeNo { get; set; }
        public string mobile { get; set; }
        //public string email { get; set; }
        //public string dingUserId { get; set; }
        //public string dingUnionId { get; set; }
    }
    public class AuthOrganizationInfo
    {
        public string id { get; set; }
        public string type { get; set; }
        public string operateType { get; set; }
        public string parentId { get; set; }//上级机构的ID，注意：顶层机构返回null，非空字符串
        public string parentCode { get; set; }//上级机构的代码，注意：顶层机构返回null，非空字符串
        public string code { get; set; }//集团HR系统组织机构编码
        public string name { get; set; }//行政组织机构名称
        public string disabled { get; set; }//禁用true，启用false

    }

    public class DataSyncInfo
    {
        public object data { get; set; }
        public string bizId { get; set; }
        public string producer { get; set; }
        public string from { get; set; }
        public string time { get; set; }
    }

    public class PanoramicInfo
    {
        public int page { get; set; }
        public int size { get; set; }
        public string assetCode { get; set; }
    }

    public class PanoramicDeviceInfo
    {
        public string assetCode { get; set; }
    }

    public class PanoramicMetricsReturnInfo
    {
        public int total { get; set; }
        public List<PanoramicMetrics> data { get; set; }
    }
}
public class PanoramicMetrics
{
    public string assetCode { get; set; }
    public string metricsTime { get; set; }
    public PanoramicMetricsData data { get; set; }
}

public class PanoramicMetricsData
{
    public float cpu { get; set; }
    public float memory { get; set; }
}

public class PanoramicElevator
{
    public string elevatorNo { get; set; }//电梯名称位置
    public string elevatorName { get; set; }//电梯名称位置
    public string floorInf { get; set; }//楼层信息
    public string elevatorType { get; set; }//电梯类型
    public double speed { get; set; }//速度
    public double load { get; set; }//载重
    public int outofservice { get; set; }//0=启用；1=长期停用
    public string contractNo { get; set; }//合同号
    public string saleNo { get; set; }//销售编号
    public string outofserviceTime { get; set; }//停用时间
    public string ipAddress { get; set; }//IP地址
    public int throughDoor { get; set; }//是否是贯通门：0=否；1=是
    public string manufacturer { get; set; }//设备厂商
    public string model { get; set; }//设备型号
    public string physicalNumber { get; set; }//物理编号
    public string certificateNumber { get; set; }//合格证编号
    public string regNumber { get; set; }//注册编号
    public int isTemperature { get; set; }//是否需要温度检测：0=否；1=是
    public double temperatureThreshold { get; set; }//温度阈值
    public int videoPlayTime { get; set; }//视频播放时间，单位：分钟；默认为5分钟，0=永久播放
    public string advertisement { get; set; }//广告文件路径
    public string captions { get; set; }//字幕
    public string cameraNo { get; set; }//摄像头编号
    public string areaName { get; set; }//区域名称
    public string mainAreaName { get; set; }//父区域名称
    public string opcNO { get; set; }

}

public class PanoramicDeviceReturnInfo
{
    public int code { get; set; }
    public int total { get; set; }
    public List<PanoramicElevatorData> data { get; set; }
}

public class PanoramicElevatorData
{
    public string assetCode { get; set; }
    public string assetName { get; set; }
    public string systemCode { get; set; }
    public string assetTypeCode { get; set; }
    public string assetModelName { get; set; }
    public string assetManufacturer { get; set; }
    public string assetLocation { get; set; }
    public int status { get; set; }
    public int frontdoorStatus { get; set; }
    public int backdoorStatus { get; set; }
    public int direction { get; set; }
    public string floor { get; set; }
    public int fault { get; set; }
}
